perm filename ROB1.ANS[P,JRA] blob
sn#070619 filedate 1973-11-05 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 PROC1(M B)
C00003 00003 CLIMBING FRAME ITERATION RULE:
C00004 ENDMK
C⊗;
PROC1(M B)
BEGIN
TRAVEL(M P CORNER)
IF ¬UNDER(SHOES CHAIR2 CORNER) THEN
PROC2(M SHOES CORNER)
ELSE
BEGIN
FIND(M SHOES CORNER);
END
REACH(M SHOES CORNER);
PUT_ON(M SHOES);
TRAVEL(M CORNER SLOC);
MOVE(M B12 SLOC U);
CLIMB(M B12 U);
Y4 ← B21;
WHILE ¬STACKEDN((4) U) DO
BEGIN
Y1 ← Y4;
WHILE STACKED (Y1 Y2 U) DO
UNCLIMB(M Y1 U);
TRAVEL(M U SLOC)
NEXTBOX(Z4 Y4);
MOVE(M Z4 SLOC U);
LIFT(M Z4 U);
Y1 ← B12;
WHILE STACKED (Y2 Y1 U) DO
CLIMB(M Y2 U);
STACK(M Z4 U);
Y4 ← Y1;
END;
CLIMB(M Y1 U);
REACH(M B U);
END
CLIMBING FRAME ITERATION RULE:
BASIS: ROBOT(M) ∧ ON(M X1);
INVARIANT: ON(M X1);
ITERATION STEP GOAL: ON(M X2);
CONTROL TEST: STACKED(X2 X1);
GOAL: ONTOP(M);
OUTPUT:
Y1 ← B1;
WHILE STACKED(Y2 Y1) DO CLIMB (M Y1 Y2);
Q∧L{?}R∨¬L GIVES:
ON(M,X1)∧STACKED(X2 X1) {?} ON(M X2) ∨¬STACKED(X2 X1)